home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slaruv.z / slaruv
Text File  |  1996-03-14  |  2KB  |  67 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAARRRRUUUUVVVV((((3333FFFF))))                                                          SSSSLLLLAAAARRRRUUUUVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLARUV - return a vector of n random real numbers from a uniform (0,1)
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE SLARUV( ISEED, N, X )
  13.  
  14.          INTEGER        N
  15.  
  16.          INTEGER        ISEED( 4 )
  17.  
  18.          REAL           X( N )
  19.  
  20. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  21.      SLARUV returns a vector of n random real numbers from a uniform (0,1)
  22.      distribution (n <= 128).
  23.  
  24.      This is an auxiliary routine called by SLARNV and CLARNV.
  25.  
  26.  
  27. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  28.      ISEED   (input/output) INTEGER array, dimension (4)
  29.              On entry, the seed of the random number generator; the array
  30.              elements must be between 0 and 4095, and ISEED(4) must be odd.
  31.              On exit, the seed is updated.
  32.  
  33.      N       (input) INTEGER
  34.              The number of random numbers to be generated. N <= 128.
  35.  
  36.      X       (output) REAL array, dimension (N)
  37.              The generated random numbers.
  38.  
  39. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  40.      This routine uses a multiplicative congruential method with modulus 2**48
  41.      and multiplier 33952834046453 (see G.S.Fishman,
  42.      2**b: an exhaustive analysis for b = 32 and a partial analysis for b =
  43.      48', Math. Comp. 189, pp 331-344, 1990).
  44.  
  45.      48-bit integers are stored in 4 integer array elements with 12 bits per
  46.      element. Hence the routine is portable across machines with integers of
  47.      32 bits or more.
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.